#include <cstdio>
#include <vector>
#include <string>
#include <cassert>

using namespace std;

typedef vector<string> VS;
const int MAX = 100000;
vector<int> v[MAX];
int n;

void Generate()
{
	int sz = 10;
	int ncl = 30;
	
	int tec = 0;
	for (int i = 0; i < ncl; i++)
	{
		for (int j = tec; j < tec+sz; j++)
			for (int k = j+1; k < tec+sz; k++)
				v[j].push_back(k);
			
		tec += sz;
	}
	
	n = tec;
}

void Write()
{
	printf("<?xml version='1.0' encoding='UTF-8' standalone='no'?>\n");
	printf("<grpahml >\n");
	printf("<graph directed='false' id='insert here!'>\n");
	
	for (int i=0;i<n;i++)
		printf("	<node id='%d' />\n", i);

	printf("\n");	
	for (int i=0;i<n;i++)
	{
		for (int j=0;j<(int)v[i].size();j++)
			printf("	<edge source='%d' target='%d'/>\n", i, v[i][j]);
	}
	
	printf("</graph>\n");
	printf("</grpahml>\n");
	
}

int main()
{
	Generate();
	Write();
	return 0;
}
